import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

/**
 * ListBody创建需要保证在滑动方向上父节点对他没有约束，一般情况与SingleChildScrollView
 * 配合使用就行
 * ListBody相对于[Column和Row]的优点是可以保证宽度或者高度的一致性
 * ListBody相对于ListView呢缺点是没有复用回收机制，但是优点也是有的，用法简单而且嵌套滑动组件
 * 不需要shrinkWrap，在少量数据而且布局不复杂的情况下使用还能减少内存开销
 */
class ListBodyDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar:  AppBar(
        title: Text('ListBody'),
        centerTitle: true,
      ),
      body: SingleChildScrollView(
        child: ListBody(
          //滚动方向
          mainAxis: Axis.vertical,
          //是否倒序
          reverse: false,
          children: [
            Container(
              height: 100,
              color: Colors.blue[50],
              child: Text('1'),
            ),
            Container(
              height: 100,
              color: Colors.blue[100],
              child: Text('2'),
            ),
            Container(
              height: 100,
              color: Colors.blue[200],
              child: Text('3'),
            ),
          ],
        ),
      ),
    );
  }
}
